// window.cpp_CallPay = function () {};
// cc.Class({
//     extends: cc.Component,
//     properties: {},
//     onLoad: function () {},
//     start: function () {},
//     chushihua_view: function (e) {
//         var t = this;
//         if (void 0 === e) {
//             e = null;
//         }
//         var o = 7;
//         if (null == e || null == e.node) {
//             var i = new cc.Node();
//             i.addComponent(cc.Sprite);
//             this.node.addChild(i);
//             i.runAction(cc.repeatForever(cc.rotateBy(3, 360)));
//             cc.resources
//                 ? cc.resources.load("Flower/module/loading/loading1", cc.SpriteFrame, function (e, t) {
//                       if (cc.isValid(i)) {
//                           i.getComponent(cc.Sprite).spriteFrame = t;
//                       }
//                   })
//                 : cc.loader.loadRes("Flower/module/loading/loading1", cc.SpriteFrame, function (e, t) {
//                       if (cc.isValid(i)) {
//                           i.getComponent(cc.Sprite).spriteFrame = t;
//                       }
//                   });
//         } else {
//             null != e.node && (e.node.parent = this.node);
//             e.time && e.time > 0 && (o = e.time);
//         }
//         this.scheduleOnce(function () {
//             if (ailin_sdk_manager.instance.playVDCallBack) {
//                 ailin_sdk_manager.instance.playVDCallBack(0);
//             }
//             ailin_sdk_manager.instance.playVDCallBack = null;
//             if (cc.isValid(t.node)) {
//                 t.node.removeFromParent();
//                 t.node.destroy();
//             }
//             if (cpp_CallPay) {
//                 cpp_CallPay(0);
//             }
//         }, o);
//         cc.systemEvent.on(
//             "lieyou_sdk_video_loading",
//             function (e) {
//                 console.log("al ============= lieyou_sdk_video_loading  " + e);
//                 if (0 == e) {
//                     if (ailin_sdk_manager.instance.playVDCallBack) {
//                         ailin_sdk_manager.instance.playVDCallBack(0);
//                     }
//                     ailin_sdk_manager.instance.playVDCallBack = null;
//                 }
//                 if (cpp_CallPay) {
//                     cpp_CallPay(e);
//                 }
//                 if (cc.isValid(t.node)) {
//                     t.node.removeFromParent();
//                     t.node.destroy();
//                 }
//             },
//             this
//         );
//     },
//     onDestroy: function () {
//         cc.systemEvent.off("lieyou_sdk_video_loading");
//     }
// });


/**
 * @classdesc 优化后的加载视图类，处理加载视图的显示与销毁逻辑
 * @extends cc.Component
 */
cc.Class({
    extends: cc.Component,

    properties: {},

    onLoad() {},

    start() {},

    /**
     * 初始化视图
     * @param {Object} config - 配置对象
     * @param {cc.Node} config.node - 传入的节点
     * @param {number} config.time - 显示时间
     */
    chushihua_view(config) {
        const self = this;
        if (config === undefined) {
            config = null;
        }

        let displayTime = 7;

        if (config === null || config.node === null) {
            const loadingNode = new cc.Node();
            loadingNode.addComponent(cc.Sprite);
            this.node.addChild(loadingNode);

            loadingNode.runAction(cc.repeatForever(cc.rotateBy(3, 360)));

            const loadCallback = (err, spriteFrame) => {
                if (cc.isValid(loadingNode)) {
                    loadingNode.getComponent(cc.Sprite).spriteFrame = spriteFrame;
                }
            };

            if (cc.resources) {
                cc.resources.load("Flower/module/loading/loading1", cc.SpriteFrame, loadCallback);
            } else {
                cc.loader.loadRes("Flower/module/loading/loading1", cc.SpriteFrame, loadCallback);
            }
        } else {
            if (config.node !== null) {
                config.node.parent = this.node;
            }
            if (config.time && config.time > 0) {
                displayTime = config.time;
            }
        }

        this.scheduleOnce(() => {
            const sdkManager = ailin_sdk_manager.instance;

            if (sdkManager.playVDCallBack) {
                sdkManager.playVDCallBack(0);
            }
            sdkManager.playVDCallBack = null;

            if (cc.isValid(self.node)) {
                self.node.removeFromParent();
                self.node.destroy();
            }

            if (cpp_CallPay) {
                cpp_CallPay(0);
            }
        }, displayTime);

        cc.systemEvent.on("lieyou_sdk_video_loading", (event) => {
            console.log("al ============= lieyou_sdk_video_loading  " + event);

            const sdkManager = ailin_sdk_manager.instance;

            if (event === 0) {
                if (sdkManager.playVDCallBack) {
                    sdkManager.playVDCallBack(0);
                }
                sdkManager.playVDCallBack = null;
            }

            if (cpp_CallPay) {
                cpp_CallPay(event);
            }

            if (cc.isValid(self.node)) {
                self.node.removeFromParent();
                self.node.destroy();
            }
        }, this);
    },

    onDestroy() {
        cc.systemEvent.off("lieyou_sdk_video_loading");
    }
});

// 模拟的全局函数
window.cpp_CallPay = function () {};

/** 
 * @class ailin_sdk_manager
 * @description 模拟的SDK管理类
 */
const ailin_sdk_manager = {
    instance: {
        playVDCallBack: null
    }
};
